package com.dy.project.service;


import com.dy.project.domain.CommoditySignBatchOperationTemplate;
import com.dy.project.domain.CommoditySignGroupTemplate;
import com.dy.project.domain.CommoditySignTemplate;
import com.dy.project.domain.McCommoditySign;

import java.util.HashMap;
import java.util.List;

/**
 * 商品签收Service接口
 * 
 * @author ruoyi
 * @date 2020-07-29
 */
public interface IMcCommoditySignService 
{

    /**
     * 查询商品签收
     *
     * @param csId 商品签收ID
     * @return 商品签收
     */
    public McCommoditySign selectMcCommoditySignById(Long csId);

    /**
     * 查询商品签收列表组
     */
    public List<CommoditySignGroupTemplate> selectMcCommoditySignListGroup(CommoditySignGroupTemplate commoditySignGroupTemplate);

    /**
     * 根据商品ID查询商品签收列表组
     */
    public List<CommoditySignGroupTemplate> selectCommoditySignListGroupByAcId(CommoditySignGroupTemplate commoditySignGroupTemplate);

    /**
     * 查询商品签收模板
     */
    public List<CommoditySignTemplate> listCommoditySignTemplate(CommoditySignTemplate commoditySignTemplate);

    /**
     * 新增商品签收
     *
     * @param mcCommoditySign 商品签收
     * @return 结果
     */
    public int insertMcCommoditySign(McCommoditySign mcCommoditySign);

    /**
     * 修改签收子状态（补货，删除）
     * @param params
     * @return
     */
    public int updateSignDtlState(HashMap<String, Object> params);

    /**
     * 批量刪除/補貨貨物
     * @param commoditySignBatchOperationTemplate 批量修改模板
     */
    public int handleSignCommodityBatch(CommoditySignBatchOperationTemplate commoditySignBatchOperationTemplate);

    /**
     * 簽收操作
     */
    public int sign(McCommoditySign mcCommoditySign);

    /**
     * 一鍵簽收
     */
    public int signAll(List<McCommoditySign> signList);

    /**
     * 修改簽收數量
     */
    public int updateSignCount(McCommoditySign commoditySign);
}
